<?php
/*
 * Page Agregar Centro (Centros de atencion de pacientes).
 * @Autor: Andrés Ubilla.
 */
class Agregar extends TPage{
    public function onLoad($param){
        parent::onLoad($param);
        if(!$this->IsPostBack){
            $this->validarSession();
            $this->iniciarControles();
        }
    }
    
    private function validarSession(){
        $oUsuario = Util::getSession("Usuario");
        if(Util::isNullOrEmpty($oUsuario)){
            $this->Response->redirect($this->Service->constructUrl("Home"));
        }
    }
    
    private function iniciarControles(){
        $this->txtDireccion->Attributes->Add("placeholder","Ej: Direcci&oacute;n 9999, Comuna");
        $this->txtDireccion->Attributes->Add("onBlur","codeAddress()");
        $this->txtNombre->Attributes->Add("required","required");
        $this->txtDireccion->Attributes->Add("required","required");
        $this->txtHoraInicioAM->Attributes->Add("required","required");
        $this->txtHoraFinAM->Attributes->Add("required","required");
        $this->txtHoraInicioPM->Attributes->Add("required","required");
        $this->txtHoraFinPM->Attributes->Add("required","required");
    }
    
    private function limpiarForm(){
        $this->txtNombre->Text = "";
        $this->txtDireccion->Text = "";
        $this->txtTelefono->Text = "";
        $this->txtHoraInicioAM->Text = "";
        $this->txtHoraFinAM->Text = "";
        $this->txtHoraInicioPM->Text = "";
        $this->txtHoraFinPM->Text = "";
    }
    
    public function btnRegistrarCentroOnClick($sender, $param){
        try{
            $oCentro = new Centro();

            $oCentro->setNombre($this->txtNombre->Text);
            $oCentro->setDireccion($this->txtDireccion->Text);
            $oCentro->setTelefono($this->txtTelefono->Text);
            $oCentro->setHoraInicioAM($this->txtHoraInicioAM->Text);
            $oCentro->setHoraFinAM($this->txtHoraFinAM->Text);
            $oCentro->setHoraInicioPM($this->txtHoraInicioPM->Text);
            $oCentro->setHoraFinPM($this->txtHoraFinPM->Text);
            $oCentro->setLatitud($this->lat->Value);
            $oCentro->setLongitud($this->lng->Value);
            $oCentro->setEstado(1);

            $oCentroBLL = new CentroBLL();
            $idCentro = $oCentroBLL->grabar($oCentro);

            if(is_int($idCentro) && $idCentro > 0){
                $this->limpiarForm();
                $this->litAlert->Text = Util::setMensajeUsuario("Centro ha sido registrado exitosamente.", Util::MENSAJE_OK);                
            }else{   
                $this->litAlert->Text = Util::setMensajeUsuario("Error al registrar el centro, vuelva a intentarlo.", Util::MENSAJE_ERROR);
            }
        } catch (Exception $e){
            $oCentroBLL->eliminar($idCentro);
            throw new Exception($e->getMessage());
        }
    }
}
?>
